import { ColDef, ICellRendererParams } from '@ag-grid-community/core'

/** columnDefs 配置项 */
export type TCol<T extends keyof IOrigRouteListItem = keyof IOrigRouteListItem> = ColDef<
  IOrigRouteListItem,
  IOrigRouteListItem[T]
> & { field: T }

/** cellRendererParams */
export type TCellParams<T extends keyof IOrigRouteListItem = keyof IOrigRouteListItem> = ICellRendererParams<
  IOrigRouteListItem,
  IOrigRouteListItem[T]
>

/** 原始路由列表请求入参 */
export interface IOrigRouteListReq {
  /** 运单号(在接口调用时转成数组) */
  waybillNos: string | undefined
  page: number
  size: number
}

/** 原始路由列表请求响应项 */
export interface IOrigRouteListItem {
  /** 原始路由ID（唯一标识） */
  originalRouteId: number
  /** 运单号 */
  waybillNo: string | null
  /** 服务商 */
  merchantServers: string | null
  /** 渠道单号 */
  channelNo: string | null
  /** 原始路由 */
  originalRoute: string | null
  /** 发生时间 */
  occurDate: string | null
  /** 采集时间 */
  collectDate: string | null
  /** 状态 0.未读 1.已读 */
  status: number
}

/** 原始路由列表请求响应 */
export interface IOrigRouteListRes {
  total: number
  records: IOrigRouteListItem[]
}
